package com.iot.ht.controller.htuser.data;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.iot.core.data.BaseDto;
import com.iot.core.data.IdNameDto;
import io.swagger.v3.oas.annotations.media.Schema;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@Schema(name = "用户Dto",description = "")
public class HtUserDto extends BaseDto {


    @Schema(name = "账号",description = "")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  ename ="";

    @Schema(name = "姓名",description = "")
    @NotBlank(message = "姓名不能为空")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  name ="";

    @Schema(name = "修改密码",description = "")
    private  boolean editPwd ;

    @Schema(name = "密码",description = "")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  pwd ="";

    @Schema(name = "性别",description = "男、女")
    @Size(min =0,max = 100,message = "长度范围0-100")
    private  String  sex ="";

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Schema(name = "出生日期",description = "")
    private  Date  birthday ;

    @Schema(name = "职务",description = "")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  zw ="";

    @Schema(name = "邮箱",description = "")
    @Size(min =0,max = 100,message = "长度范围0-100")
    private  String  email ="";

    @Schema(name = "手机号",description = "")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  mobile ="";

    @Schema(name = "住址",description = "")
    @Size(min =0,max = 100,message = "长度范围0-100")
    private  String  address ="";

    @Schema(name = "备注",description = "")
    private  String  memo ="";

    @Schema(name = "照片",description = "")
    private  String  url ="";

    @Schema(name = "创建日期",description = "")
    private  Date  crtDt ;

    @Schema(name = "创建人编号",description = "")
    private  Long  crtUid =0L;

    @Schema(name = "所属机构",description = "")
    private  Long  crtDid =0L;

    @Schema(name = "修改日期",description = "")
    private Date edtDt ;

    @Schema(name = "创建人编号",description = "")
    private  String  crtUname ="";

    @Schema(name = "所属机构",description = "")
    private  String  crtDname ="";

    @Schema(name = "状态",description = "启用、停用")
    @Size(min =0,max = 100,message = "长度范围0-100")
    private  String  state ="";

    @Schema(name = "RoleList",description = "")
    private List<IdNameDto> roleList=new ArrayList<>();


}
